The Beneet of Predicated Execution for Software Pipelining
نویسندگان
چکیده
Software pipelining is a compile-time scheduling technique that overlaps successive loop iterations to expose operation-level parallelism. An important problem with the development of eeective software pipelin-ing algorithms is how to handle loops with conditional branches. Conditional branches increase the complexity and decrease the eeectiveness of software pipelin-ing algorithms by introducing many possible execution paths into the scheduling scope. This paper presents an empirical study of the importance of an architectural support, referred to as predicated execution, on the eeectiveness of software pipelining. In order to perform an in-depth analysis, we focus on Rau's modulo scheduling algorithm for software pipelining. Three versions of the modulo scheduling algorithm, one with and two without predicated execution support, are implemented in a prototype compiler. Experiments based on important loops from numeric applications show that predicated execution support substantially improves the eeectiveness of the modulo scheduling algorithm .
منابع مشابه
The Bene t of Predicated Execution for Software Pipelining
Software pipelining is a compile-time scheduling technique that overlaps successive loop iterations to expose operation-level parallelism. An important problem with the development of e ective software pipelining algorithms is how to handle loops with conditional branches. Conditional branches increase the complexity and decrease the e ectiveness of software pipelining algorithms by introducing...
متن کاملRegister Binding for DSP Code Containing Predicated Execution
Predicated execution is an efficient mechanism to avoid conditional constructs in application programs. In this paper we describe how an existing method for register binding can be extended to support predicated execution. The method exploits the combination of register constraints, resource and timing constraints and models the overlap of value lifetimes in a conflict graph. In our extension, ...
متن کاملEnhanced Modulo Scheduling for Loops with Conditional
Loops with conditional branches have multiple execution paths which are diicult to software pipeline. The mod-ulo scheduling technique for software pipelining addresses this problem by converting loops with conditional branches into straight-line code before scheduling. In this paper we present an Enhanced Modulo Scheduling (EMS) technique that can achieve a lower minimum Initiation Interval th...
متن کاملA Comparison of Full and Partial Predicated Execution
One can eeectively utilize predicated execution to improve branch handling in instruction-level parallel processors. Although the potential beneets of predicated execution are high, the tradeoos involved in the design of an instruction set to support predicated execution can be diicult. On one end of the design spectrum, architectural support for full pred-icated execution requires increasing t...
متن کاملISCA - 22 , Jun 1995 1 A Comparison of Full and Partial Predicated Execution Supportfor ILP
One can eeectively utilize predicated execution to improve branch handling in instruction-level parallel processors. Although the potential beneets of predicated execution are high, the tradeoos involved in the design of an instruction set to support predicated execution can be diicult. On one end of the design spectrum, architectural support for full pred-icated execution requires increasing t...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993